-- BP 7.1.6 content: ModelClass syschar: 3 persistence-version: 7.1.6

INSERT INTO O_OBJ
	VALUES ("90263998-67f3-470e-b430-045603848c2e",
	'Duration',
	410,
	'DURD',
	'"Similarly, to define a data type that represents duration, write
    data type <data type name> is duration
        range is from <low limit> to <high limit>
        units are [ year | month | day | hour | minute | second | millisec | 
        microsec ]
        precision is <smallest discriminated value>

The operations permitted using data types based on time and duration are:
    time := time ± duration
    duration := duration ± duration
    duration := duration * numeric
    duration := duration / numeric
    duration := time - time
    as well as the standard comparisons of < (read as "before"), >, ≤ , and ≥ . 
    Each such comparison yields a data element of base type boolean. 
    Comparisons are defined only between elements of the same base type."
    [OOAData]',
	"00000000-0000-0000-0000-000000000000");
INSERT INTO O_TFR
	VALUES ("1a551dc1-b56c-4470-9e86-0c7066fd181c",
	"90263998-67f3-470e-b430-045603848c2e",
	'generateSupportedOperators',
	'"The operations permitted using data types based on ... duration are:
    duration := duration ± duration
    duration := duration * numeric
    duration := duration / numeric
    duration := time - time
    as well as the standard comparisons of < (read as "before"), >, ≤ , and ≥ . 
    Each such comparison yields a data element of base type boolean. 
    Comparisons are defined only between elements of the same base type."
    [OOAData]
    
NOTE: For mixed type operations, conversion operators must be supported.
The explicit conversion cases are:
    duration * numeric: duration->numeric result: numeric
    duration / numeric: duration->numeric result: numeric
    duration := numeric: numeric->duration
    duration := time: time->duration',
	"ba5eda7a-def5-0000-0000-000000000000",
	1,
	'generate TYOP_A1:create(name:"assignment", symbol:":=", type:"duration", result:"duration") to TYOP class;
generate TYOP_A1:create(name:"addition", symbol:"+", type:"duration", result:"duration") to TYOP class;
generate TYOP_A1:create(name:"subtraction", symbol:"-", type:"duration", result:"duration") to TYOP class;
generate TYOP_A1:create(name:"equal", symbol:"=", type:"duration", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"not equal", symbol:"!=", type:"duration", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"greater", symbol:">", type:"duration", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"lesser", symbol:"<", type:"duration", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"greater or equal", symbol:">=", type:"duration", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"lesser or equal", symbol:"<=", type:"duration", result:"boolean") to TYOP class;
// It is highly recommended that the architecture handle conversions auto-
// matically, so the analyst doesn''t have to explicitly add the conversion 
// operator.
generate TYOP_A1:create(name:"convert to numeric", symbol:"->NUMI", type:"duration", result:"numeric") to TYOP class;',
	1,
	'',
	"00000000-0000-0000-0000-000000000000",
	0);
INSERT INTO O_NBATTR
	VALUES ("452cab6b-42d4-4ce4-9898-418af454608d",
	"90263998-67f3-470e-b430-045603848c2e");
INSERT INTO O_BATTR
	VALUES ("452cab6b-42d4-4ce4-9898-418af454608d",
	"90263998-67f3-470e-b430-045603848c2e");
INSERT INTO O_ATTR
	VALUES ("452cab6b-42d4-4ce4-9898-418af454608d",
	"90263998-67f3-470e-b430-045603848c2e",
	"e54bb524-80a5-45be-a45f-21a2735fe39a",
	'current_state',
	'',
	'',
	'current_state',
	0,
	"ba5eda7a-def5-0000-0000-000000000006",
	'',
	'');
INSERT INTO O_REF
	VALUES ("90263998-67f3-470e-b430-045603848c2e",
	"457cd498-80ef-4e4e-95e0-56bc48607519",
	0,
	"c6811edb-d913-48b2-be3e-1d2ebba0547e",
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"7acfb817-73d3-4ea9-bd4d-a607e8f874bc",
	"be141c7f-7bce-427c-8219-bd5767c973d9",
	"e54bb524-80a5-45be-a45f-21a2735fe39a",
	"5e9756d8-09da-4ca2-b4b3-8db6a162f3a0",
	"00000000-0000-0000-0000-000000000000",
	0,
	'',
	'Core',
	'name',
	'R403');
INSERT INTO R_RGO_PROXY
	VALUES ("90263998-67f3-470e-b430-045603848c2e",
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"7acfb817-73d3-4ea9-bd4d-a607e8f874bc",
	'../Type.xtuml');
INSERT INTO O_RTIDA_PROXY
	VALUES ("c6811edb-d913-48b2-be3e-1d2ebba0547e",
	"457cd498-80ef-4e4e-95e0-56bc48607519",
	0,
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"be141c7f-7bce-427c-8219-bd5767c973d9",
	'../Type.xtuml');
INSERT INTO O_RATTR
	VALUES ("e54bb524-80a5-45be-a45f-21a2735fe39a",
	"90263998-67f3-470e-b430-045603848c2e",
	"d59bff5d-0418-4222-8cac-0ab92a87871f",
	"0c8bafe9-416d-4662-a4ec-206f276b9ac5",
	1,
	'name');
INSERT INTO O_BATTR_PROXY
	VALUES ("d59bff5d-0418-4222-8cac-0ab92a87871f",
	"0c8bafe9-416d-4662-a4ec-206f276b9ac5",
	'../Type/Type.xtuml');
INSERT INTO O_ATTR
	VALUES ("e54bb524-80a5-45be-a45f-21a2735fe39a",
	"90263998-67f3-470e-b430-045603848c2e",
	"00000000-0000-0000-0000-000000000000",
	'name',
	'',
	'',
	'name',
	0,
	"ba5eda7a-def5-0000-0000-000000000007",
	'',
	'');
INSERT INTO O_ID
	VALUES (0,
	"90263998-67f3-470e-b430-045603848c2e");
INSERT INTO O_OIDA
	VALUES ("e54bb524-80a5-45be-a45f-21a2735fe39a",
	"90263998-67f3-470e-b430-045603848c2e",
	0,
	'name');
INSERT INTO O_ID
	VALUES (1,
	"90263998-67f3-470e-b430-045603848c2e");
INSERT INTO O_ID
	VALUES (2,
	"90263998-67f3-470e-b430-045603848c2e");
INSERT INTO PE_PE
	VALUES ("90263998-67f3-470e-b430-045603848c2e",
	1,
	"03ad3705-d9c8-45b5-a34b-f270ac9fc479",
	"00000000-0000-0000-0000-000000000000",
	4);
INSERT INTO EP_PKG_PROXY
	VALUES ("03ad3705-d9c8-45b5-a34b-f270ac9fc479",
	"00000000-0000-0000-0000-000000000000",
	"c8b88000-dddc-4206-8410-2f69b8f86b67",
	'Type',
	'',
	400,
	'../Type.xtuml');
